---
title: PXF的启动、停止和重启
---

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->


PXF提供了两个管理命令:

- `pxf cluster` - 管理Greenplum数据库集群中的所有PXF服务实例
- `pxf` - 在特定的Greenplum数据库主机上管理PXF服务实例

[`pxf cluster`](ref/pxf-cluster.html)支持 `init`, `start`, `stop`, and `sync` 子命令。在Greenplum数据库master主机上运行 `pxf cluster` 子命令时，将在Greenplum数据库集群中的所有segment主机上执行该操作。

[`pxf`](ref/pxf.html)支持`init`, `start`, `stop`, `restart`, `status` 操作。这些操作在本地执行，也就是说，如果要在特定的Greenplum数据库segment主机上启动或停止PXF代理，需要登录到该主机并运行命令。


## <a id="start_pxf"></a>启动PXF

初始化PXF之后，必须在Greenplum数据库集群中的每个segment主机上启动PXF。PXF服务启动后，将以`gpadmin`用户身份在默认端口5888上运行。只有`gpadmin`用户可以启动和停止pxf服务。

如果要更改默认的PXF配置，则必须在启动PXF之前更新配置。

`$PXF_CONF/conf` 包含用户自定义的配置文件：

- `pxf-env.sh` - 运行时配置参数
- `pxf-log4j.properties` - 日志记录配置参数
- `pxf-profiles.xml` - 自定义配置文件定义

`pxf-env.sh` 包含以下用户可自定义的配置文件:

| Parameter  | Description | Default Value |
|-----------|---------------| ------------|
| JAVA_HOME    | Java JRE家目录 | /usr/java/default |
| PXF_LOGDIR   | PXF日志目录 | $PXF_CONF/logs |
| PXF_JVM_OPTS | PXF Java虚拟机的默认选项 | -Xmx2g -Xms1g |
| PXF_KEYTAB   | PXF服务Kerberos主体密钥表文件的绝对路径 | $PXF_CONF/keytabs/pxf.service.keytab |
| PXF_PRINCIPAL | PXF服务Kerberos主体 | gpadmin/\_HOST@EXAMPLE.COM |

您必须将对`pxf-env.sh`，`pxf-log4j.properties`或`pxf-profiles.xml`所做的所有变更同步到每个segment主机，并在每个节点上（重新）启动PXF。

### <a id="start_pxf_prereq" class="no-quick-link"></a>准备

在Greenplum数据库集群中启动PXF之前，请确保：

- Greenplum数据库集群已启动并正在运行
- PXF已经被初始化

### <a id="start_pxf_proc" class="no-quick-link"></a>过程

执行以下过程以在Greenplum数据库集群中的每个segment主机上启动PXF。

1. 登录greenplum master节点

    ``` shell
    $ ssh gpadmin@<gpmaster>
    ```

3. 在每个segment主机上运行`pxf cluster start`命令启动pxf服务

    ```shell
    gpadmin@gpmaster$ $GPHOME/pxf/bin/pxf cluster start
    ```

## <a id="stop_pxf"></a>停止PXF

如果必须停止PXF,例如如果要升级PXF，则必须在Greenplum数据库集群中的每个segment主机上停止PXF。只有`gpadmin`用户可以停止PXF服务

### <a id="stop_pxf_prereq" class="no-quick-link"></a>准备

在Greenplum数据库集群中停止PXF之前，请确保Greenplum数据库集群已启动并正在运行。

### <a id="stop_pxf_proc" class="no-quick-link"></a>过程

执行以下过程在Greenplum数据库集群中的每个segment主机上停止PXF。

1. 登录greenplum master节点

    ``` shell
    $ ssh gpadmin@<gpmaster>
    ```

3. 在每个segment主机上运行`pxf cluster stop`命令停止pxf服务。 例如:

    ```shell
    gpadmin@gpmaster$ $GPHOME/pxf/bin/pxf cluster stop
    ```

## <a id="restart_pxf"></a>重启PXF

如果必须重新启动PXF，例如在`$PXF_CONF/conf`中更新了PXF用户配置文件，则可以在Greenplum数据库集群中先停止服务然后再启动PXF服务。

只有`gpadmin`用户可以重启PXF服务。


### <a id="restart_pxf_prereq" class="no-quick-link"></a>准备

在Greenplum数据库集群中重新启动PXF之前，请确保Greenplum数据库集群已启动并正在运行。

### <a id="restart_pxf_proc" class="no-quick-link"></a>过程

执行以下过程在Greenplum数据库集群中的每个segment上重启PXF。

1. 登录greenplum master节点:

    ``` shell
    $ ssh gpadmin@<gpmaster>
    ```

2. 重启PXF:

    ```shell
    gpadmin@gpmaster$ $GPHOME/pxf/bin/pxf cluster stop
    gpadmin@gpmaster$ $GPHOME/pxf/bin/pxf cluster start
    ```
